package day230916;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author 兴趣使然黄小黄
 * @version 1.0
 * @date 2023/9/16 19:07
 * 任务处理 40%
 */
public class Solution04 {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int N = in.nextInt(); // 样例个数
        while (N-- != 0) {
            // 对每组输入进行处理
            int n = in.nextInt(); // 任务总数
            int k = in.nextInt(); // 两个人需要完成的任务数
            // 录入数据
            int[] time = new int[n];
            for (int i = 0; i < n; i++) {
                time[i] = in.nextInt();
            }
            // 排序, 只关心用时最少的前 k 个
            Arrays.sort(time);
            // 二分 + 双指针思想选出最优时间
            int timeA = 0; // 小明完成时间
            int timeB = 0; // 小白完成时间
            int index = k - 1;
            while (k-- != 0) {
                if (timeA <= timeB) {
                    // 小明选任务
                    timeA += time[index--];
                } else {
                    // 小白选任务
                    timeB += time[index--];
                }
            }
            System.out.println(Math.max(timeA, timeB));
        }
        in.close();
    }
}
